typedef struct Inner {
    int **x;
    int *y;
} Inner;

typedef struct Outer {
    void *x;
    Inner in[3];
} Outer;

#include <stdlib.h>

int main() {
    Outer obj;
    int *g = (int *)malloc(sizeof(int));
    int ***ptr = &(obj.in[1].x);
    *ptr = &g;
    void *q = obj.x;
    return 0;
}
